package pers.qianyu.module.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import pers.qianyu.module.core.domain.system.dto.SysRoleResourceDTO;
import pers.qianyu.module.core.domain.system.entity.SysRoleResourcePO;
import pers.qianyu.module.core.domain.system.vo.SysResourceVO;
import pers.qianyu.module.core.domain.system.vo.SysRoleVO;

import java.util.List;

/**
 * @author mizzle rain
 * @date 2021-05-03 22:38
 */
public interface SysRoleResourceService extends IService<SysRoleResourcePO> {
    /**
     * 根据角色 id 查询出角色的所有资源
     *
     * @param roleId 角色 id
     * @return 角色资源
     */
    List<SysResourceVO> queryByRoleId(Long roleId);

    /**
     * 根据资源 id 查询所有拥有该资源的角色
     *
     * @param resourceId 资源 id
     * @return 拥有该资源的角色列表
     */
    List<SysRoleVO> queryByResourceId(Long resourceId);

    /**
     * 给某个角色增加资源
     *
     * @param sysRoleResourceDTO 角色资源信息
     */
    void insRoleResource(SysRoleResourceDTO sysRoleResourceDTO);

    /**
     * 删除某个角色的资源
     *
     * @param sysRoleResourceDTO 角色资源信息
     */
    void delRoleResource(SysRoleResourceDTO sysRoleResourceDTO);
}
